using System.Collections.Generic;

namespace Pogo.Data
{
   public interface IFileService
   {
      IDevice Device { get; }
      string Name { get; }
      string Version { get; }
      bool Online { get; }
      bool OnLAN { get; }
      bool LoggedIn { get; }
      int GetFileCount(bool includeHidden = false);

      DirectoryListing GetFiles(FileOptions options = null);
      IEnumerable<DirectoryEntry> FindFiles(string criteria, FileOptions options = null);
      bool Update(string newName);
      void Upload(string path, byte[] contents);
   }
}